//
//  DMInterstitialSceneManager.h
//  DualMediationSDK
//
//  Created by YeJary on 2025/1/15.
//

#import <Foundation/Foundation.h>
#import "DMInterstitialScenes.h"

NS_ASSUME_NONNULL_BEGIN

@class DMInterstitialManager;
@class DualMediationMAXInterstitialManager;

/**
 * 插屏广告场景管理器
 * 负责处理内置场景的自动触发逻辑
 */
@interface DMInterstitialSceneManager : NSObject

/**
 * 单例实例
 */
+ (instancetype)sharedManager;

/**
 * 设置插屏广告管理器（IronSource）
 */
@property (nonatomic, weak) DMInterstitialManager *ironSourceManager;

/**
 * 设置插屏广告管理器（MAX）
 */
@property (nonatomic, weak) DualMediationMAXInterstitialManager *maxManager;

/**
 * 是否启用场景管理器
 */
@property (nonatomic, assign) BOOL sceneManagerEnabled;

/**
 * 游戏时长触发间隔（秒），默认300秒（5分钟）
 */
@property (nonatomic, assign) NSTimeInterval playTimeInterval;

/**
 * 关卡等待触发间隔（秒），默认180秒（3分钟）
 */
@property (nonatomic, assign) NSTimeInterval levelWaitInterval;

/**
 * 开始场景管理
 */
- (void)startSceneManagement;

/**
 * 停止场景管理
 */
- (void)stopSceneManagement;

/**
 * 触发游戏时长场景
 */
- (void)triggerPlayTimeScene;

/**
 * 触发关卡等待场景
 */
- (void)triggerLevelWaitScene;

/**
 * 重置游戏时长计时器
 */
- (void)resetPlayTimeTimer;

/**
 * 重置关卡等待计时器
 */
- (void)resetLevelWaitTimer;

/**
 * 暂停所有定时器
 */
- (void)pauseAllTimers;

/**
 * 恢复所有定时器
 */
- (void)resumeAllTimers;

@end

NS_ASSUME_NONNULL_END
